Apparatus and method to trim a programmable low-frequency monolithic high-pass filter

ABSTRACT

A high-pass filter has a variable resistance which can be varied by a trimming signal and a programming signal. The variable resistance has a common resistance which is controlled by the trimming signal or the programming signal through a common control line.

FIELD OF THE INVENTION

The present invention relates to a filter circuit and more particularly to a programmable monolithic high-pass filter.

BACKGROUND OF THE INVENTION

Monolithic differential high-pass filters are used in many mixed signal integrated analog circuits as well as read channels for disk drive circuits in order to eliminate the effect of offset which is generated by internal circuitry. The offsets are often the result of mismatches which are due to various factors such as component mismatches, temperature gradient, etc. The lower cutoff frequency (F_(C)) of the high-pass filter is usually within the range of a few kilohertz to a few hundred kilohertz. The low frequency cutoff F_(C) is chosen such that it should be sufficiently low in order to prevent any phase distortion on the output signal, and it should be sufficiently high in order to avoid slow transition in startup of the component. In applications where the data rate or the signal frequency shows a large amount of variation in various modes, it is desirable to have a programmable high-pass filter to be able to optimize the operation. Trimming may be necessary since the component tolerances may result in larger deviation than the programming of the high-pass filter. The programmability can only be achieved if the process variation is corrected by trimming and if the trimming accuracy is less than or equal to half of the step sizes in the programming.

FIG. 1 illustrates such a high-pass filter in monolithic form with F_(C) as a low-frequency corner frequency. The input to the high-pass filter 100 is voltage V_(in) and the output of the high-pass filter 100 is voltage V_(outps). The operational amplifier 102 and the capacitor 104 and resistor 106, resistor 108 R₁, and resistor 110 R₂ form an (inverting) Active-RC low-pass filter circuit from the node at the output of summing circuit 116 shown as voltage V_(out) to the node at V_(L) which is the output of the operational amplifier 102.

Equation 1 illustrates the Laplace transform. $\begin{matrix} {\frac{V_{L}(s)}{V_{out}(s)} = {- \quad \frac{1/{RC}}{s + {g_{0}/C}}}} & (1) \end{matrix}$

where R is the total value of the combination resistances of resistor 106, resistor 108 and resistor 110, and depending on input signals B₁ and B₂ where input signal B₁ and input signal B₂ are digital signals as illustrated in Equation 2. $\begin{matrix} {R = \left\{ \begin{matrix} {R_{0} + R_{1} + R_{2}} & {{{if}\quad B_{1}} = {{{``{LOW}"}\quad {and}\quad B_{2}} = {``{LOW}"}}} \\ {R_{0} + R_{1}} & {{{if}\quad B_{2}} = {``{HIGH}"}} \\ R_{0} & {{{if}\quad B_{1}} = {``{HIGH}"}} \end{matrix} \right.} & (2) \end{matrix}$

Thus, the input signals B₁ and B₂ control the total resistance by effectively shorting resistor 108 and resistor 102 through switches 112 and 114.

The parameter g₀ in Equation 1 is the parasitic conductance across capacitor 104.

The summation circuit 116 sums voltage V_(in) and voltage V_(L) as illustrated in Equation 3.

V _(out)(S)=V _(in)(S)+V _(L)(S).  (3)

Substituting Equation 1 in Equation 3 yields Equation 4. $\begin{matrix} {\frac{V_{out}(s)}{V_{i\quad n}(s)} = \frac{s + {g_{0}/C}}{s + {\left( {g_{0} + {1/R}} \right)/C}}} & (4) \end{matrix}$

Equation 4 is the first order high-pass filter Laplace domain transfer function, for which the cutoff frequency is illustrated in Equation 5. $\begin{matrix} {F_{c} = {\frac{1}{2\quad \pi}\quad \frac{g_{0} + {1/R}}{C}}} & (5) \end{matrix}$

The zero frequency is derived in Equation 6. $\begin{matrix} {F_{z} = {\frac{1}{2\quad \pi}\quad \frac{g_{0}}{C}}} & (6) \end{matrix}$

The cutoff frequency and the zero frequency are illustrated as high-pass filter magnitude characteristics as shown in FIG. 2.

The circuit 100 uses three settings of R which correspond to fast, slow and medium speeds in order to adjust the corner frequency F_(C). The circuit of FIG. 1 requires an input signal for each switch to control the resistance. Thus, there is no trimming due to process variations.

SUMMARY OF THE INVENTION

The present invention provides a filter which is both programmable and trimmable. The programmable and trimmable features are summed and input to a programmable resistor through a single line. Thus, the programmable feature and trimmable feature are combined.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a high-pass filter;

FIG. 2 illustrates the characteristics of a high-pass filter;

FIG. 3 illustrates a high-pass filter of the present invention;

FIG. 4 illustrates a programmable resistor array of the present invention;

FIG. 5 illustrates a second programmable array;

FIG. 6 illustrates high-pass characteristics of the present invention;

FIG. 7 illustrates cutoff frequency versus corner frequency;

FIG. 8 illustrates cutoff frequency versus trimming control; and

FIG. 9 illustrates computed resistor values.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

As illustrated in FIG. 3, the high-pass circuit 300 includes an summation circuit 316 to sum the output of operational amplifier 302 and the voltage V_(in). The voltage V_(in) and the output of the operational amplifier 302, namely voltage V_(L), is summed by summation circuit 316. The output of summation circuit 316 enters a feedback circuit including a programmable resistance 320. The output of the programmable resistance 320 is input to the operational amplifier 302. The other input to the operational amplifier 302 is connected to ground. The output of the operational amplifier 302 is connected to capacitor 304 with the output of programmable resistance 320 connected to capacitor 304. The input to the programmable resistance 320 is the output of decoder circuit 322 which is connected to summation circuit 324. The input to the summation circuit 324 is the trimming signal TRIM and the programmable signal FC. Both the programmable value FC and the trimming value TRIM are binary values. The binary values (FC and TRIM) are summed by the operational amplifier 302. The programmable resistor 320, operational amplifier 302, and the capacitor 304 form the low-pass filter. The summing circuit 316 adds the input signal, voltage V_(in), and the output of the operational amplifier 302, voltage signal V_(L). Voltage V_(out) is the output of the first order high-pass filter.

The present invention provides a common resistor array for both the trimming and programming aspects of the present invention. The decoder circuit 322 transforms the digital output of the adder circuit 324 to a single-bit output so that a predetermined FET can be turned on to control the resistance seen by the programmable resistor. As illustrated in FIG. 3, the program FC is a 4-bit word represented by FC(3:0), a digital signal, to address in some instances 16 resistors to provide the necessary programmability. The trimming signal TRIM(2:0) requires in some instances seven more resistors to increase and decrease the total resistor value of seven steps total up and down. The adder circuit 324 adds, for example, a 3-bit digital trimming signal to a 4-bit digital programming signal to create a 5-bit combination signal FCT(4:0). The decoder outputs a decoded signal on a common control line 321. The 5-bit decoder circuit 322 decodes the signal FCT(4:0) into a 23-bit signal B(22:0) such that $\begin{matrix} {{{B(n)} = \begin{matrix} {``{HIGH}"} & {{{if}\quad {FCT}\quad ({decimal})} = n} \\ {``{LOW}"} & {{{if}\quad {else}},} \end{matrix}}{{where}\quad {n:{0\quad \ldots \quad 22.}}}} & (7) \end{matrix}$

Other bit combinations work equally well. FIG. 4 illustrates a programmable resistor array. Thus, a signal B₁₉ equals a logical “1” in the 19th position with logical “0”s in all the other positions, which is a common array to the trimming signal and the programming signal, and FET 402 is turned on by the signal B₁₉, and resistors 404, 406, 408 and 410 are in the circuit while the rest of the resistors of circuit are not shorted. Thus, by controlling the various B signals to be a logical “1” or a logical “0,” the amount of resistance can be varied in accordance with a combination of program and trim signals.

For a trimming control signal, only a group of 16 consecutive switches are turned off or on, for instance, 3 through 18. The others are always turned off for trimming, so as a consequence, the resistor structure as shown in FIG. 4 can be simplified to the one in FIG. 5. In FIG. 4 and FIG. 5, the relationship between the resistor values is illustrated in Equation 8. $\begin{matrix} {R_{i + K} = \left\{ {\begin{matrix} R_{i + K} & {{{if}\quad i} < 16} \\ {\sum\limits_{j = {16 + K}}^{23}R_{j}} & {{{{if}\quad i} = 16},} \end{matrix}{where}\quad {i:{0\quad \ldots \quad 16\quad {and}\quad {K:{0\quad \ldots \quad 7.}}}}} \right.} & (8) \end{matrix}$

For a given trimming setting, FC, which is the digital signal controlling the corner frequency F_(C), changes from 0 to 15 in decimal. The R_(prog) value for a given FC is illustrated in Equation 9.

It is often useful to vary the cutoff frequency in equal steps in the logarithmic scale. FIG. 6 illustrates an example of programming F_(C). The F_(C) variation versus FC(3:0) control is linear in logarithmic scale as shown in FIG. 7.

In order to obtain equal steps of programming in logarithmic frequency scale, it is desirable to have the following relationship between two consecutive values of programmed F_(C) as illustrated in Equation 10.

F _(C(i+l))=a F _(C(i))  (10)

Since capacitor value C in design is kept constant, assuming that 1/g₀ is negligible with respect to the largest resistor setting, F_(C) is varied by varying the resistor value R_(prog) as illustrated in Equation 11. $\begin{matrix} {R_{{prog}{({i + 1})}} = {\left( \frac{1}{a} \right)R_{{prog}{(i)}}}} & (11) \end{matrix}$

The relationship between the resistor values of the consecutive resistors in the resistor array can be obtained by substituting Equation 9 for FC=i and FC=i+1 into Equation 11 as illustrated in Equation 12. $\begin{matrix} {{\sum\limits_{j = {i + 1}}^{16 + K}R_{j}} = {\frac{1}{a}\quad {\sum\limits_{j = i}^{16 + K}{R_{j}\quad {where}\quad {i:{0\quad \ldots \quad \left( {15 + K} \right)}}}}}} & (12) \end{matrix}$

This implies Equation 13. $\begin{matrix} {R_{i} = {\left( {a - 1} \right)\quad {\sum\limits_{j = {i + 1}}^{16 + K}{R_{j}\quad {where}\quad {i:{0\quad \ldots \quad {\left( {15 + K} \right).}}}}}}} & (13) \end{matrix}$

By induction, it can be shown that

R _(i) =a R _(i+)1 where i:0 . . . (14+K)  (14)

Write Equation 13 for i+1, that is $\begin{matrix} {R_{i + 1} = {\left( {a - 1} \right){\sum\limits_{j = {i + 2}}^{16 + K}{\quad R_{j}\quad {where}\quad {i:{0\quad \ldots \quad {\left( {14 + K} \right).}}}}}}} & (15) \end{matrix}$

Next, add (a−1)R_(i+1), to both sides of Equation 15, and Equation 16 results. $\begin{matrix} {{{aR}_{i + 1} = {{{\left( {a - 1} \right){\sum\limits_{j = {i + 2}}^{16 + K}\quad R_{j}}} + {\left( {a - 1} \right)R_{i + 1}}} = {{\left( {a - 1} \right){\sum\limits_{j = {i + 1}}^{16 + K}\quad R_{j}}} = {R_{i}\quad {where}\quad {i:{0\quad \ldots \quad \left( {14 + K} \right)}}}}}},} & (16) \end{matrix}$

This proves Equation 14. Also, from Equation 13, Equation 17 follows.

R _(15+K)=(a−l)R _(16+K)where i:0 . . . (15+K).  (17)

From Equation 14 and Equation 17, it can be proven that

R _(i) =a ^(15+K−i)(a−l)R _(16+K) where i:0 . . . (15+K)  (18)

If the cutoff frequency is required to vary N times while within the programming range, assuming that 1/g₀ is negligible with respect to the largest resistor setting, that implies Equation 19. $\begin{matrix} {R_{16 + K} = {{\left( \frac{1}{N} \right){\sum\limits_{j = {0 + K}}^{16 + K}\quad R_{j}}} = {\left( \frac{1}{N} \right)\left\lbrack {{\sum\limits_{j = {0 + K}}^{15 + K}\quad {{a^{15 + K - i}\left( {a - 1} \right)}R_{16 + K}}} + R_{16 + K}} \right\rbrack}}} & (20) \end{matrix}$

Substituting Equation 18 into Equation 20 yields Equation 21. $\begin{matrix} {R_{16 + K} = {\left( \frac{1}{N} \right){R_{16 + K}\left\lbrack {{\left( {a - 1} \right){\sum\limits_{j = 0}^{15}\quad a^{j}}} + 1} \right\rbrack}}} & (21) \end{matrix}$

This implies Equation 22. $\begin{matrix} {{{\left( {a - 1} \right){\sum\limits_{j = 0}^{15}\quad a^{j}}} + 1} = N} & (22) \end{matrix}$

And as shown in Equation 23, $\begin{matrix} {{{\left( {a - 1} \right)a^{16}} - \frac{1}{a - 1}} = {N - 1}} & (23) \end{matrix}$

the result is Equation 24.

a= ¹⁶ {square root over (N)}.  (24)

For the practical example for the present invention, it was determined that N=10, that gives Equation 25.

a=1.154781985.  (25)

It is practical also to make the nominal setting of the trimming to be centered with respect to the trimming range as shown in FIG. 8. It corresponds to K=4.

The numerical resistor values are computer as follows. The highest setting of FC(3:0) corresponds to the highest F_(C) programmed, as can be shown in FIG. 7. Now let us call that F_(C) value F_(C(max)). According to Equation 5, Equation 26 results. $\begin{matrix} {R_{({m\quad i\quad n})} = \frac{1}{{2\pi \quad F_{C{({m\quad a\quad x})}}C} - g_{0}}} & (26) \end{matrix}$

Assuming that g₀ is known, in fact, by design, Equation 27 results.

R _((min)) =R _(16+K)  (27)

For K=4, Equation 28 results. $\begin{matrix} {R_{({m\quad i\quad n})} = {\sum\limits_{j = 20}^{23}\quad {R_{j}.}}} & (28) \end{matrix}$

Since the same numeric resistor values are valid for any K, Equation 29 results.

R ₂₂=(a−1)R ₂₃  (29)

According to Equation 17, for K=7 and from Equation 14, Equation 30 results.

R _(i) =a R _(i+1) where i:20,21.  (30)

It can be computed that

R _((min)) =a ³ R ₂₃,  (31)

From Equations 20 and 30, therefore, Equation 32 results. $\begin{matrix} {R_{23} = {{\frac{1}{a^{3}}R_{({m\quad i\quad n})}} = {\frac{1}{a^{3}}{\frac{1}{{2\pi \quad F_{C{({m\quad a\quad x})}}C} - g_{0}}.}}}} & (32) \end{matrix}$

Then, R₂₂ is computed by Equation 29 and the remainder is computed by Equation 33.

R _(i) =a R _(i+1) where i:0, . . . , 21.  (33)

Thus, the entire design of all component values are computed.

FIG. 9 illustrates a table of computed resistor values assuming that

F _(C(max))=40kHz,

g ₀=0.05 μmhos,

and it is chosen that

C=100pF.

The achieved minimum and maximum F_(C) are computed as

F _(C(min))=40kHz,

and

F _(C(min))=4.07kHz.

The inaccuracy in the F_(C(min)) is due to the 1/g₀ term in Equation 5. 

What is claimed is:
 1. A high-pass filter comprising: a variable resistance having a resistance which can be varied; a capacitor coupled to an output of said variable resistance; and an operational amplifier coupled to said output of said variable resistance and said capacitor; wherein said variable resistance may be varied in accordance with a discrete trimming signal and a discrete programming signal; wherein said trimming signal and said programming signal are summed together by an adder circuit.
 2. A high-pass filter as in claim 1, wherein said trimming signal and said programming signal are through a common control line.
 3. A high-pass filter as in claim 1, wherein said trimming signal and said programming signal are decoded by a decoder circuit.
 4. A high-pass filter as in claim 1, wherein said trimming signal and said programming signal vary the resistance of a common array. 